<template>
	<view class="template-health tn-safe-area-inset-bottom">

		<!-- 顶部自定义导航 -->
		<tn-nav-bar fixed :isBack="false" :bottomShadow="false" :backgroundColor="navBarBackgroundColor">
			<view id="navbar" class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
				<!-- 图标logo -->
				<view class="custom-nav__back">
					<view class="logo-pic tn-shadow-blur"
						style="background-image:url('https://tnuiimage.tnkjapp.com/logo/logo2.png')">
						<view class="logo-image">
						</view>
					</view>
				</view>
				<!-- 搜索框 -->
				<view @click="toSearch" class="custom-nav__search tn-flex tn-flex-col-center tn-flex-row-center"
					:style="[navBarStyle]">
					<view class="custom-nav__search__box tn-flex tn-flex-col-center tn-flex-row-left"
						style="background-color: rgba(230,230,230,0.3);">
						<view class="custom-nav__search__icon tn-icon-search"></view>
						<view class="tn-color-gray tn-padding-left-xs">请输入检索内容</view>
					</view>
				</view>
			</view>
		</tn-nav-bar>

		<view class="tn-margin-top" :style="{paddingTop: vuex_custom_bar_height - 30 + 'px'}">
			<view class="tn-flex tn-flex-row-between">
				<view class="justify-content-item tn-margin tn-text-bold tn-text-xxl">
					智能控制与图像处理研究室欢迎您！
				</view>
			</view>
		</view>

		<swiper class="card-swiper" :circular="true" :autoplay="true" duration="500" interval="5000"
			@change="cardSwiper">
			<swiper-item v-for="(item,index) in swiperList" :key="index" :class="cardCur==index?'cur':''">
				<view class="swiper-item image-banner tn-shadow" @click="toWeb(item.open_url, item.title)">
					<image :src="item.url" mode="aspectFill" v-if="item.type=='image'"></image>
				</view>
				<view class="swiper-item-text">
					<view class="tn-text-xxl tn-text-bold tn-color-white">{{item.title}}</view>
					<view class="tn-text-bold tn-color-white tn-padding-top-xs" style="font-size: 60rpx;">{{item.name}}
					</view>
					<view class="tn-text-sm tn-text-bold tn-color-white tn-padding-top-sm tn-padding-bottom-sm">
						{{item.text}}
					</view>
				</view>
			</swiper-item>
		</swiper>
		<view class="indication">
			<block v-for="(item,index) in swiperList" :key="index">
				<view class="spot" :class="cardCur==index?'active':''"></view>
			</block>
		</view>

		<!-- 文章开始 -->
		<view class="">
			<view class="tn-flex tn-flex-row-between">
				<view class="justify-content-item tn-margin-left tn-text-bold tn-text-xxl">
					文章
				</view>
			</view>
			<!-- 文章栏开始 -->
			<!-- 内容 -->
			<view class="tn-flex tn-flex-direction-column tn-margin-top-sm tn-margin-bottom">
				<!-- 图文信息 -->
				<block v-for="(item,index) in resultList" :key="item.id">
					<view class="blogger__item tn-shadow" @click.stop="toDetail(item._id)">
						<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
							<view class="justify__author__info">
								<view class="tn-flex tn-flex-row-center">
									<view class="tn-flex tn-flex-row-center tn-flex-col-center">
										<view class="tn-padding-right tn-text-ellipsis">
											<view class="tn-padding-right tn-padding-left-sm tn-text-bold tn-text-lg">
												{{ item.title }}
											</view>
											<view
												class="tn-padding-right tn-padding-left-sm tn-padding-top-xs tn-color-gray">
												{{ item.date }}
											</view>
										</view>
									</view>
								</view>
							</view>
						</view>

						<view v-if="item.excerpt" class="blogger__content" :id="`blogger__content--${index}`">
							<view class="blogger__content__data"
								:style="{height: `${item.contentContainerInit ? (!item.showAllContent ? contentHideShowHeight : item.contentContainerHeight) + 'px' : 'auto'}`}">
								{{ item.excerpt }}
							</view>
							<view v-if="item.hideContent" class="blogger__content__status"
								@tap="switchResultShowStatus(index)">{{ item.showAllContent ? '收起' : '全文'}}</view>
						</view>

						<block v-show="item.avatar">
							<image
								class="blogger__main-image tn-shadow-blur blogger__main-image--1 tn-margin-bottom-sm"
								:src="item.avatar" mode="aspectFill">
							</image>
						</block>
					</view>
				</block>
			</view>
			<!-- 成果栏结束 -->
		</view>
		<!-- 文章结束 -->
		<view class="tn-flex tn-flex-row-between">
			<view class="justify-content-item tn-margin-left tn-text-bold tn-text-xxl">
				成员
			</view>
			<view class="justify-content-item tn-margin-right tn-text-lg tn-color-black">
				<text class="tn-padding-xs">全部</text>
				<text class="tn-icon-topics"></text>
			</view>
		</view>

		<swiper class="card-swiper2 tn-margin-top-sm" :circular="true" :autoplay="true" duration="500" interval="5000"
			@change="memberCardSwiper">
			<swiper-item v-for="(item,index) in memberList" :key="index" :class="memberCardCur==index?'cur':''">
				<view class="swiper-item image-banner2" @click.stop="toUser(item._id)">
					<image :src="item.url" mode="aspectFill" v-if="item.type=='image'"></image>
				</view>
				<view class="swiper-item-text">
					<view class="tn-text-xxl tn-text-bold">{{item.name}}</view>
					<view class="tn-text-sm tn-text-bold tn-padding-top-xs">{{item.title}}</view>
					<view class="tn-text-sm tn-text-bold tn-padding-top-xs">{{item.researchDirection}}</view>
				</view>
			</swiper-item>
		</swiper>

		<view class="indication2">
			<block v-for="(item,index) in memberList" :key="index">
				<view class="spot2" :class="memberCardCur==index?'active':''"></view>
			</block>
		</view>

		<view class="">
			<view class="tn-flex tn-flex-row-between">
				<view class="justify-content-item tn-margin-left tn-text-bold tn-text-xxl">
					成果
				</view>
				<view class="justify-content-item tn-margin-right tn-text-lg tn-color-black">
					<text class="tn-padding-xs">全部</text>
					<text class="tn-icon-topics"></text>
				</view>
			</view>
			<!-- 成果栏开始 -->
			<!-- 内容 -->
			<view class="tn-flex tn-flex-direction-column tn-margin-top-sm tn-margin-bottom">

				<!-- 图文信息 -->
				<block v-for="(item,index) in artitleList" :key="index">
					<view class="blogger__item tn-shadow">
						<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center"
							@click.stop="toAchieve(item._id)">
							<view class="justify__author__info">
								<view class="tn-flex tn-flex-row-center">
									<view class="tn-flex tn-flex-row-center tn-flex-col-center">
										<view class="">
											<tn-avatar class="" shape="circle" :src="item.userAvatar" size="lg">
											</tn-avatar>
										</view>
										<view class="tn-padding-right tn-text-ellipsis">
											<view class="tn-padding-right tn-padding-left-sm tn-text-bold tn-text-lg">
												{{ item.userName }}
											</view>
											<view
												class="tn-padding-right tn-padding-left-sm tn-padding-top-xs tn-color-gray">
												{{ item.date }}
											</view>
										</view>
									</view>
								</view>
							</view>
							<view
								class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
								<text class="tn-icon-more-vertical tn-color-gray tn-text-bold tn-text-xxl"></text>
							</view>
						</view>

						<view
							class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex tn-flex-col-center tn-flex-row-left">
							<view v-for="(label_item,label_index) in item.label" :key="label_index"
								class="blogger__desc__label tn-float-left tn-margin-right tn-bg-gray--light tn-round tn-text-sm tn-text-bold">
								<text class="blogger__desc__label--prefix">#</text>
								<text class="tn-text-df">{{ label_item }}</text>
							</view>
							<view v-if="!item.label || item.label.length < 4"
								class="tn-text-bold blogger__desc__content tn-flex-1 tn-text-ellipsis tn-text-justify tn-text-df">
								标题 {{ item.desc }}</view>
						</view>

						<view v-if="item.content" class="blogger__content" :id="`blogger__content--${index}`">
							<view class="blogger__content__data"
								:style="{height: `${item.contentContainerInit ? (!item.showAllContent ? contentHideShowHeight : item.contentContainerHeight) + 'px' : 'auto'}`}">
								摘要 {{ item.content }}
							</view>
							<view v-if="item.hideContent" class="blogger__content__status"
								@tap="switchContentShowStatus(index)">{{ item.showAllContent ? '收起' : '全文'}}</view>
						</view>

						<block v-if="item.mainImage">
							<view v-if="[1,2,4].indexOf(item.mainImage.length) != -1" class="tn-padding-top-xs">
								<image v-for="(image_item,image_index) in item.mainImage" :key="image_index"
									class="blogger__main-image tn-shadow-blur" :class="{
			              'blogger__main-image--1 tn-margin-bottom-sm': item.mainImage.length === 1,
			              'blogger__main-image--2 tn-margin-right-sm tn-margin-bottom-sm': item.mainImage.length === 2 || item.mainImage.length === 4
			            }" @click="TanPreviewImage(item.mainImage, image_index)" :src="image_item.url" mode="aspectFill">
								</image>
							</view>
							<view v-else class="tn-padding-top-xs">
								<tn-grid hoverClass="none" :col="3">
									<block v-for="(image_item,image_index) in item.mainImage" :key="image_index">
										<!-- #ifndef MP-WEIXIN -->
										<tn-grid-item style="width: 30%;margin: 10rpx;">
											<image class="blogger__main-image blogger__main-image--3 tn-shadow-blur"
												:src="image_item.url"
												@click="TanPreviewImage(item.mainImage, image_index)" mode="aspectFill">
											</image>
										</tn-grid-item>
										<!-- #endif-->
										<!-- #ifdef MP-WEIXIN -->
										<tn-grid-item style="width: 30%;margin: 10rpx;">
											<image class="blogger__main-image blogger__main-image--3 tn-shadow-blur"
												@click="TanPreviewImage(item.mainImage, image_index)"
												:src="image_item.url" mode="aspectFill"></image>
										</tn-grid-item>
										<!-- #endif-->
									</block>
								</tn-grid>
							</view>
						</block>

						<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xs">
							<view class="justify-content-item tn-color-gray tn-text-center">
								<view class="">
									<text class="blogger__count-icon tn-icon-message"></text>
									<text class="tn-padding-right">{{ item.commentCount }}</text>
									<text class="blogger__count-icon tn-icon-like"></text>
									<text class="">{{ item.likeCount }}</text>
								</view>
							</view>
							<view class="justify-content-item tn-flex tn-flex-col-center">
								<view style="margin-right: 10rpx;margin-left: 20rpx;">
									<tn-avatar-group :lists="item.viewUser.latestUserAvatar" size="sm">
									</tn-avatar-group>
								</view>
								<text class="tn-color-gray">{{ item.viewUser.viewUserCount }}人</text>
							</view>
						</view>
					</view>

				</block>

			</view>
			<!-- 成果栏结束 -->

		</view>
		<!-- 引用组件 -->
		<tn-skeleton :show="showSkeleton"></tn-skeleton>
		<tn-tabbar :value="0" :list="tabbarList" activeColor="#838383" inactiveColor="#AAAAAA"
			activeIconColor="tn-cool-bg-color-7" :animation="true" :safeAreaInsetBottom="true" @toIndex="toIndex">
		</tn-tabbar>

	</view>
</template>

<script>
	import day from 'tuniao-ui/day.js'
	const db = uniCloud.database()
	const bannerCollection = db.collection('opendb-banner')
	const memberCollection = db.collection('lab-member')
	const artitleCollection = db.collection('lab-artitle')
	const resultCollection = db.collection('opendb-news-articles')
	const dbCmd = db.command
	import {
		mapGetters,
		mapMutations
	} from 'vuex';
	export default {
		data() {
			return {
				// 是否显示骨架
				showSkeleton: true,
				// 底部tabbar菜单数据
				tabbarList: [{
						title: '首页',
						activeIcon: 'home',
						inactiveIcon: 'home-fill'
					},
					{
						title: '发布',
						activeIcon: 'discover-planet',
						inactiveIcon: 'discover-planet-fill',
						activeIconColor: '#FFFFFF',
						inactiveIconColor: '#FFFFFF',
						iconSize: 50,
						out: true
					},
					{
						title: '我的',
						activeIcon: 'my',
						inactiveIcon: 'my-fill',
						dot: false
					}
				],
				// 内容默认隐藏显示的高度
				contentHideShowHeight: 0,
				day: day, // 时间戳处理
				cardCur: 0, // 第一个轮播图索引
				swiperList: [],
				memberCardCur: 0, // 第二个轮播图索引
				memberList: [],
				// 文章对应内容
				resultList: [],
				// 成果对应内容
				artitleList: [],
				navBarRectInfo: {},
				navBarChangebaseLineHeight: 0,
				navBarStyle: {
					color: '#FFFFFF',
					opacity: 1,
					display: 'flex'
				},
				navBarBackgroundColor: 'rgba(255, 255, 255, 0)',
				activeBgAnimation: {},
			}
		},
		computed: {
			...mapGetters({
				userInfo: 'user/info',
				hasLogin: 'user/hasLogin'
			}),
			// 兼容小程序
			gridItemWidth() {
				return 100 / this.col + '%'
			},
		},
		async onLoad() {
			uni.hideTabBar()
			// 获取轮播图
			this.getBanner();
			// 获取成员图
			this.getMember();
			// 获取成果
			this.getArtitle();
			// 获取文章
			this.getResult();
			uni.preloadPage({
				url: '/pages/ucenter/ucenter'
			})
			uni.preloadPage({
				url: '/pages/share/share'
			})
			this.contentHideShowHeight = uni.upx2px(56) * 3
		},
		onReady() {
			this.$nextTick(() => {
				this.initNavBarRectInfo()
			})
		},

		onPageScroll() {
			this.updateNavBarRectInfo()
		},
		onReachBottom() { //滚动到底翻页

		},

		methods: {
			...mapMutations({
				setUserInfo: 'user/login'
			}),
			async toIndex(index) {
				if (index == 1) {
					uni.switchTab({
						url: '/pages/share/share'
					})
				} else if (index == 2) {
					uni.switchTab({
						url: '/pages/ucenter/ucenter'
					})
				}
			},


			// cardSwiper
			cardSwiper(e) {
				this.cardCur = e.detail.current
			},
			// resume
			memberCardSwiper(e) {
				this.memberCardCur = e.detail.current
			},
			// 初始化导航栏信息
			async initNavBarRectInfo() {
				const navBarRectInfo = await this._tGetRect('#navbar')
				const pageTipsRectInfo = await this._tGetRect('#page_tips')
				// console.log(navBarRectInfo, pageTipsRectInfo, navBarRectInfo?.top, pageTipsRectInfo?.top);
				if (!navBarRectInfo.hasOwnProperty('top') || !pageTipsRectInfo.hasOwnProperty('top')) {
					setTimeout(() => {
						this.initNavBarRectInfo()
					}, 10)
					return
				}
				this.navBarRectInfo = {
					top: navBarRectInfo.top
				}
				this.navBarChangebaseLineHeight = pageTipsRectInfo.top - navBarRectInfo.top
			},
			// 更新导航栏信息
			updateNavBarRectInfo() {
				this._tGetRect('#page_tips').then((res) => {
					const top = res?.top || 0
					if (!top) {
						return
					}
					const differHeight = top - this.navBarRectInfo.top
					const opacity = differHeight / this.navBarChangebaseLineHeight
					if (opacity < 0) {
						// this.navBarStyle.opacity = 1
						// this.navBarStyle.display = 'flex'
						this.navBarStyle.color = 'rgba(0, 0, 0, ${opacity})'
						this.navBarBackgroundColor = `rgba(255, 255, 255, 1)`
					} else {
						// this.navBarStyle.opacity = 1 - opacity
						// this.navBarStyle.display = 'flex'
						this.navBarStyle.color = 'rgba(255, 255, 255, 1)'
						this.navBarBackgroundColor = `rgba(255, 255, 255, ${1 - opacity})`
					}

					// console.log(top, differHeight, opacity);
				})
			},
			// 获取内容容器的信息
			getContentRectInfo() {
				let contentRect = {}
				const query = uni.createSelectorQuery().in(this)
				// 筛选出存在内容的数据
				this.artitleList.forEach((item, index) => {
					if (item?.content) {
						query.select(`#blogger__content--${index}`).boundingClientRect()
						contentRect[index] = item
					}
				})
				// 获取所有内容的宽高信息
				query.exec(res => {
					if (!res) {
						setTimeout(() => {
							this.getContentRectInfo()
						}, 10)
						return
					}
					res.map((item) => {
						const id = item.id
						const idIndex = /blogger__content--(\d)/.exec(id)[1]
						let contentItem = this.artitleList[idIndex]
						contentItem.hideContent = item.height > this.contentHideShowHeight
						contentItem.showAllContent = false
						contentItem.contentContainerHeight = item.height
						contentItem.contentContainerInit = true
						this.$set(this.artitleList, idIndex, contentItem)
					})
				})
			},
			// 切换内容的显示与隐藏
			switchContentShowStatus(index) {
				const contentItem = this.artitleList[index]
				contentItem.showAllContent = !contentItem.showAllContent
				this.$set(this.artitleList, index, contentItem)
			},
			// 获取内容容器的信息
			getResultRectInfo() {
				let contentRect = {}
				const query = uni.createSelectorQuery().in(this)
				// 筛选出存在内容的数据
				this.resultList.forEach((item, index) => {
					if (item?.content) {
						query.select(`#blogger__content--${index}`).boundingClientRect()
						contentRect[index] = item
					}
				})
				// 获取所有内容的宽高信息
				query.exec(res => {
					if (!res) {
						setTimeout(() => {
							this.getResultRectInfo()
						}, 10)
						return
					}
					res.map((item) => {
						const id = item.id
						const idIndex = /blogger__content--(\d)/.exec(id)[1]
						let contentItem = this.resultList[idIndex]
						contentItem.hideContent = item.height > this.contentHideShowHeight
						contentItem.showAllContent = false
						contentItem.contentContainerHeight = item.height
						contentItem.contentContainerInit = true
						this.$set(this.resultList, idIndex, contentItem)
					})
				})
			},
			// 切换内容的显示与隐藏
			switchResultShowStatus(index) {
				const contentItem = this.resultList[index]
				contentItem.showAllContent = !contentItem.showAllContent
				this.$set(this.resultList, index, contentItem)
			},
			toAchieve(_id) {
				uni.navigateTo({
					url: '/pages/list/achieve?uid=' + _id,
					animationType: 'fade-in'
				})
			},
			// 跳转到搜索
			toSearch() {
				uni.navigateTo({
					url: '/pages/list/search/search',
					animationType: 'fade-in'
				})
			},
			// 跳转到检索结果
			toSearchResult(keyword) {
				getApp().globalData.searchText = keyword;
				uni.navigateTo({
					url: '/pages/list/search/result',
					animationType: 'fade-in'
				})
			},
			// 查看详情
			toDetail(uid) {
				uni.navigateTo({
					url: '/pages/list/detail?uid=' + uid,
					animationType: 'fade-in'
				})
			},
			// 查看用户主页
			toUser(uid) {
				uni.navigateTo({
					url: '/pages/list/member/member?uid=' + uid,
					animationType: 'fade-in'
				})
			},
			// 获取默认轮播图
			async getBanner() {
				let bannerList = await bannerCollection
					.get().then((res) => {
						// 设置默认轮播图
						let imageList = res.result.data
						imageList.forEach(item => {
							if (item.status == true) {
								this.swiperList.unshift({
									id: item.sort,
									type: 'image',
									title: item.title,
									name: item.name,
									text: item.description,
									open_url: item.open_url,
									url: item.bannerfile.url,
								})
							}
						})
					}).catch((err) => {
						uni.hideLoading()
						uni.showModal({
							content: err,
							showCancel: false
						})
					})
			},
			// 获取成员信息
			async getMember() {
				let memberList = await memberCollection
					.get().then((res) => {
						// 设置成员
						let titleList = ['教授', '副教授', '讲师', '博士研究生', '硕士研究生']
						let imageList = res.result.data
						imageList.forEach(item => {
							if (item.status == true) {
								this.memberList.unshift({
									_id: item._id,
									id: item.sort,
									type: 'image',
									name: item.name,
									title: titleList[item.title],
									researchDirection: item.researchDirection,
									url: item.avatorfile.url,
								})
							}
						})
					}).catch((err) => {
						uni.hideLoading()
						uni.showModal({
							content: err,
							showCancel: false
						})
					})
			},
			// 获取成果信息
			async getArtitle() {
				const member = memberCollection.field('_id,avatorfile,name')
					.getTemp() // 临时表field方法内需要包含关联字段，否则无法建立关联关系
				const artitle = artitleCollection.field(
						'uid,_id,label,imageList,desc,date,status,view_count,like_count,mode')
					.getTemp() // 临时表field方法内需要包含关联字段，否则无法建立关联关系
				db.collection(artitle, member)
					.limit(10)
					.get()
					.then(res => {
						let imageList = res.result.data
						imageList.forEach((item, index) => {
							if (item.status == true) {
								this.artitleList.unshift({
									userAvatar: item.uid[0].avatorfile.url,
									userName: item.uid[0].name,
									date: this.day.timeTodate('Y-m-d', item.date),
									desc: item.label,
									content: item.desc,
									mainImage: item.imageList,
									_id: item._id,
									viewUser: {
										latestUserAvatar: [{
												src: 'https://tnuiimage.tnkjapp.com/blogger/avatar_1.jpeg'
											},
											{
												src: 'https://tnuiimage.tnkjapp.com/blogger/avatar_2.jpeg'
											},
											{
												src: 'https://tnuiimage.tnkjapp.com/blogger/avatar_3.jpeg'
											},
											{
												src: 'https://tnuiimage.tnkjapp.com/blogger/avatar_4.jpeg'
											},
										],
										viewUserCount: 62
									},
									commentCount: 46,
									likeCount: 83,
								})
							}
						})
						this.initContentData()
						this.$nextTick(() => {
							this.showSkeleton = false;
							this.getContentRectInfo()
						})
					}).catch(err => {
						console.error(err)
					})
			},
			// 处理内容，给内容添加对应的标识信息
			initContentData() {
				this.artitleList.forEach((item, index) => {
					// 是否需要隐藏内容
					item.hideContent = false
					// 显示所有内容
					item.showAllContent = false
					// 内容容器的实际高度
					item.contentContainerHeight = 0
					// 内容容器是否初始化完成
					item.contentContainerInit = false
					this.$set(this.artitleList, index, item)
				})
			},
			// 预览图片
			TanPreviewImage(ImageList, index) {
				let photoList = ImageList.map(item => {
					return item.url;
				});
				uni.previewImage({
					current: index,
					urls: photoList,
				});
			},
			// 获取文章信息
			async getResult() {
				resultCollection.limit(2).get()
					.then(res => {
						let imageList = res.result.data
						imageList.forEach((item, index) => {
							if (item.article_status == 1) {
								this.resultList.unshift({
									date: this.day.timeTodate('Y-m-d', item.publish_date),
									content: item.content,
									title: item.title,
									excerpt: item.excerpt,
									avatar: item.avatar,
									_id: item._id,
								})
							}
						})
						this.initResultData()
						this.$nextTick(() => {
							this.showSkeleton = false;
							this.getResultRectInfo()
						})
					}).catch(err => {
						console.error(err)
					})
			},
			// 处理内容，给内容添加对应的标识信息
			initResultData() {
				this.resultList.forEach((item, index) => {
					// 是否需要隐藏内容
					item.hideContent = false
					// 显示所有内容
					item.showAllContent = false
					// 内容容器的实际高度
					item.contentContainerHeight = 0
					// 内容容器是否初始化完成
					item.contentContainerInit = false
					this.$set(this.resultList, index, item)
				})
			},

		}
	}
</script>

<style lang="scss" scoped>
	@import '@/static/css/templatePage/custom_nav_bar.scss';

	.template-music {
		margin-bottom: calc(110rpx + env(safe-area-inset-bottom) / 2);
		;
	}

	/* 自定义导航栏内容 start */
	.custom-nav {
		height: 100%;

		&__back {
			margin: auto 5rpx;
			font-size: 40rpx;
			margin-right: 10rpx;
			margin-left: 30rpx;
			flex-basis: 5%;
		}

		&__search {
			flex-basis: 60%;
			width: 100%;
			height: 100%;

			&__box {
				width: 100%;
				height: 70%;
				padding: 10rpx 0;
				margin: 0 30rpx;
				border-radius: 60rpx 60rpx 0 60rpx;
				font-size: 24rpx;
				background-color: rgba(255, 255, 255, 0.2);
			}

			&__icon {
				padding-right: 10rpx;
				margin-left: 20rpx;
				font-size: 30rpx;
			}

			&__text {}
		}
	}

	/* 自定义导航栏内容 end */

	/* 图标容器12 start */
	.tn-three {
		position: absolute;
		top: 50%;
		right: 50%;
		bottom: 50%;
		left: 50%;
		transform: translate(-38rpx, -16rpx) rotateX(30deg) rotateY(20deg) rotateZ(-30deg);
		text-shadow: -1rpx 2rpx 0 #f0f0f0, -2rpx 4rpx 0 #f0f0f0, -10rpx 20rpx 30rpx rgba(0, 0, 0, 0.2);
	}

	.icon12 {
		&__item {
			width: 30%;
			background-color: #FFFFFF;
			border-radius: 10rpx;
			padding: 30rpx;
			margin: 20rpx 10rpx;
			transform: scale(1);
			transition: transform 0.3s linear;
			transform-origin: center center;

			&--icon {
				width: 100rpx;
				height: 100rpx;
				font-size: 60rpx;
				border-radius: 50%;
				margin-bottom: 18rpx;
				position: relative;
				z-index: 1;

				&::after {
					content: " ";
					position: absolute;
					z-index: -1;
					width: 100%;
					height: 100%;
					left: 0;
					bottom: 0;
					border-radius: inherit;
					opacity: 1;
					transform: scale(1, 1);
					background-size: 100% 100%;
					background-image: url(https://vkceyugu.cdn.bspapp.com/VKCEYUGU-8059ac71-13c5-4a15-bec8-3ac9f98f0840/7970ea48-19eb-486c-8c2d-399758de567d.png);


				}
			}
		}
	}

	/* 文章内容 start*/
	.tn-blogger-content {
		&__wrap {
			box-shadow: 0rpx 0rpx 50rpx 0rpx rgba(0, 0, 0, 0.12);
			border-radius: 20rpx;
			margin: 10rpx;
		}

		&__info {
			&__btn {
				margin-right: -12rpx;
				opacity: 0.5;
			}
		}

		&__label {
			&__item {
				line-height: 45rpx;
				padding: 0 20rpx;
				margin: 5rpx 18rpx 0 0;

				&--prefix {
					color: #82B2FF;
					padding-right: 10rpx;
				}
			}

			&__desc {
				line-height: 35rpx;
			}
		}

		&__main-image {
			border-radius: 16rpx 16rpx 16rpx 16rpx;

			&--1 {
				max-width: 710rpx;
				min-width: 710rpx;
				max-height: 400rpx;
				min-height: 400rpx;
			}

			&--2 {
				max-width: 280rpx;
				max-height: 280rpx;
			}

			&--3 {
				height: 230rpx;
				width: 230rpx;
			}
		}

		&__count-icon {
			font-size: 40rpx;
			padding-right: 5rpx;
		}
	}

	.image-music {
		padding: 150rpx 0rpx;
		font-size: 16rpx;
		font-weight: 300;
		position: relative;
	}

	.image-pic {
		background-size: cover;
		background-repeat: no-repeat;
		// background-attachment:fixed;
		background-position: top;
		border-radius: 20rpx 20rpx 0 0;
	}

	/* 文章内容 end*/

	/* 底部tabbar start*/
	.footerfixed {
		position: fixed;
		width: 100%;
		bottom: 0;
		z-index: 999;
		background-color: #FFFFFF;
		box-shadow: 0rpx 0rpx 30rpx 0rpx rgba(0, 0, 0, 0.07);
	}

	.tabbar {
		display: flex;
		align-items: center;
		min-height: 110rpx;
		justify-content: space-between;
		padding: 0;
		height: calc(110rpx + env(safe-area-inset-bottom) / 2);
		padding-bottom: calc(env(safe-area-inset-bottom) / 2);
	}

	.tabbar .action {
		font-size: 22rpx;
		position: relative;
		flex: 1;
		text-align: center;
		padding: 0;
		display: block;
		height: auto;
		line-height: 1;
		margin: 0;
		overflow: initial;
	}

	.tabbar .action .bar-icon {
		width: 100rpx;
		position: relative;
		display: block;
		height: auto;
		margin: 0 auto 10rpx;
		text-align: center;
		font-size: 42rpx;
	}

	.tabbar .action .bar-icon image {
		width: 50rpx;
		height: 50rpx;
		display: inline-block;
	}

	/* 底部标签栏动画 */
	.navbar__item .bar-text {
		font-variant: small-caps;
		margin: 0;
		padding: 0;
		display: inline-flex;
		text-align: center;
		justify-content: center;
		align-items: center;
		white-space: nowrap;
		position: relative;
		width: 50rpx;
		height: 50rpx;
		background-size: cover;
		background-position: center;
		vertical-align: middle;
		background-color: currentColor;
		border-radius: 50%;
		transform: scale(0.8);
		opacity: 0;
		transition: all 0.55s cubic-bezier(0.71, 0.03, 0.23, 0.95);
	}

	.navbar__item.-blue {
		color: #06b8ff;
	}

	.navbar__item.-orange {
		color: #f2704d;
	}

	.navbar__item.-yellow {
		color: #f8cd4b;
	}

	.navbar__item.-purple {
		color: #8444d6;
	}

	.bar-text.-blue {
		color: #06b8ff;
	}

	.bar-text.-orange {
		color: #f2704d;
	}

	.bar-text.-yellow {
		color: #f8cd4b;
	}

	.bar-text.-purple {
		color: #8444d6;
	}

	.navbar__item:hover .bar-text {
		transform: translateY(-74rpx) scale(1.4);
		opacity: 1;
		box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1),
			-1px -1px 5px rgba(255, 255, 255, 1);
	}

	/* 底部标签栏动画 */
	.navbar__item__always .bar-text {
		font-variant: small-caps;
		margin: 0;
		padding: 0;
		display: inline-flex;
		text-align: center;
		justify-content: center;
		align-items: center;
		white-space: nowrap;
		position: relative;
		width: 50rpx;
		height: 50rpx;
		background-size: cover;
		background-position: center;
		vertical-align: middle;
		background-color: currentColor;
		border-radius: 50%;
		transform: scale(0.8);
		opacity: 0;
		transition: all 0.55s cubic-bezier(0.71, 0.03, 0.23, 0.95);
	}

	.navbar__item__always.-orange {
		color: #f2704d;
	}

	.navbar__item__always .bar-text {
		transform: translateY(-74rpx) scale(1.4);
		opacity: 1;
		box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1),
			-1px -1px 5px rgba(255, 255, 255, 1);
	}

	.navbar__item__always .navbar__icon {
		transform: translateY(-42rpx) scale(1);
		color: #fff;
		transition-delay: 0.1s, 0.1s;
	}

	.navbar__item:hover::before {
		opacity: 1;
	}

	.navbar__item:hover::after {
		opacity: 0.4;
	}

	.navbar__item:hover .navbar__icon {
		transform: translateY(-42rpx) scale(1);
		color: #fff;
		transition-delay: 0.1s, 0.1s;
	}

	.navbar__icon {
		bottom: -26rpx;
		transition: all 0.5s cubic-bezier(0.71, 0.03, 0.23, 0.95);
		transition-delay: 0.1s;
		display: inline-block;
		position: relative;
		z-index: 2;
	}

	/* 图标容器10 start */
	.icon10 {
		&__item {
			width: 30%;
			background-color: #FFFFFF;
			border-radius: 10rpx;
			padding: 30rpx;
			margin: 20rpx 10rpx;
			transform: scale(1);
			transition: transform 0.3s linear;
			transform-origin: center center;

			&--icon {
				width: 84rpx;
				height: 65rpx;
				font-size: 55rpx;
				border-radius: 150rpx;
				margin-bottom: 0rpx;
				position: relative;
				z-index: 1;

				&::after {
					content: " ";
					position: absolute;
					z-index: -1;
					width: 100%;
					height: 100%;
					left: 0;
					bottom: 0;
					border-radius: inherit;
					opacity: 1;
					transform: scale(1, 1);
					background-size: 100% 100%;
					background-image: url(https://vkceyugu.cdn.bspapp.com/VKCEYUGU-8059ac71-13c5-4a15-bec8-3ac9f98f0840/7970ea48-19eb-486c-8c2d-399758de567d.png);
				}
			}
		}
	}

	/* 图标容器10 end */
	/* 图标容器3 start */
	.icon3 {
		&__item {
			width: 30%;
			background-color: #FFFFFF;
			border-radius: 10rpx;
			padding: 30rpx;
			margin: 20rpx 10rpx;
			margin-top: 0;
			transform: scale(1);
			transition: transform 0.3s linear;
			transform-origin: center center;

			&--icon {
				width: 100rpx;
				height: 100rpx;
				font-size: 60rpx;
				border-radius: 25%;
				margin-bottom: 18rpx;
				position: relative;
				z-index: 1;

				&::after {
					content: " ";
					position: absolute;
					z-index: -1;
					width: 100%;
					height: 100%;
					left: 0;
					bottom: 0;
					border-radius: inherit;
					opacity: 1;
					transform: scale(1, 1);
					background-size: 100% 100%;
					background-image: url(https://vkceyugu.cdn.bspapp.com/VKCEYUGU-8059ac71-13c5-4a15-bec8-3ac9f98f0840/7970ea48-19eb-486c-8c2d-399758de567d.png);
				}
			}
		}
	}

	/* 图标容器3 end */
	/* 实验室首页样式 */
	@import '@/static/css/templatePage/custom_nav_bar.scss';

	.template-health {
		// background-color: #FBFBFB;
	}

	.icon-function {
		position: relative;
		z-index: 1;
		margin: 20rpx 5rpx;
		margin-top: -420rpx;
	}

	/* 轮播视觉差 start */
	.card-swiper {
		height: 440rpx !important;
	}

	.card-swiper swiper-item {
		width: 750rpx !important;
		left: 0rpx;
		box-sizing: border-box;
		padding: 0rpx 30rpx 30rpx 30rpx;
		overflow: initial;
	}

	.card-swiper swiper-item .swiper-item {
		width: 100%;
		display: block;
		height: 100%;
		border-radius: 30rpx;
		transform: scale(1);
		transition: all 0.2s ease-in 0s;
		overflow: hidden;
	}

	.card-swiper swiper-item.cur .swiper-item {
		transform: none;
		transition: all 0.2s ease-in 0s;
	}

	.card-swiper swiper-item .swiper-item-text {
		margin-top: -220rpx;
		width: 100%;
		display: block;
		height: 50%;
		border-radius: 10rpx;
		transform: translate(100rpx, -60rpx) scale(0.9, 0.9);
		transition: all 0.6s ease 0s;
		overflow: hidden;
	}

	.card-swiper swiper-item.cur .swiper-item-text {
		margin-top: -280rpx;
		width: 100%;
		transform: translate(0rpx, 0rpx) scale(0.9, 0.9);
		transition: all 0.6s ease 0s;
	}

	.image-banner {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.image-banner image {
		width: 100%;
		height: 100%;
	}

	/* 轮播指示点 start*/
	.indication {
		z-index: 998;
		width: 100%;
		height: 36rpx;
		position: absolute;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}

	.spot {
		background-color: #FFFFFF;
		opacity: 0.6;
		width: 10rpx;
		height: 10rpx;
		border-radius: 20rpx;
		top: -90rpx;
		margin: 0 8rpx !important;
		position: relative;
	}

	.spot.active {
		opacity: 1;
		width: 30rpx;
		background-color: #FFFFFF;
	}

	/* 成员轮播图 strat*/
	/* 轮播 start*/
	.card-swiper2 {
		height: 500rpx !important;
	}

	.card-swiper2 swiper-item {
		width: 450rpx !important;
		left: 30rpx;
		box-sizing: border-box;
		padding: 0rpx 0rpx 30rpx 0rpx;
		overflow: initial;
	}

	.card-swiper2 swiper-item .swiper-item {
		width: 100%;
		display: block;
		height: 100%;
		border-radius: 10rpx;
		transform: scale(0.7) translate(0rpx, -104rpx);
		transition: all 0.3s ease-in 0s;
		overflow: hidden;
	}

	.card-swiper2 swiper-item.cur .swiper-item {
		transform: none;
		transition: all 0.3s ease-in 0s;
	}

	.card-swiper2 swiper-item .swiper-item-text {
		margin-top: -140rpx;
		width: 100%;
		display: block;
		height: 50%;
		border-radius: 10rpx;
		transform: translate(20rpx, -30rpx) scale(0.7, 0.7);
		transition: all 0.4s ease 0s;
		overflow: hidden;
		color: #000000;
	}

	.card-swiper2 swiper-item.cur .swiper-item-text {
		margin-top: -200rpx;
		padding-left: 30rpx;
		width: 100%;
		transform: translate(-20rpx, 20rpx) scale(0.9, 0.9);
		transition: all 0.4s ease 0s;
		color: #FFFFFF;
		text-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.2);
	}

	.image-banner2 {
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0rpx 15rpx 30rpx 0rpx rgba(116, 10, 250, 0.15);
	}

	.image-banner2 image {
		width: 100%;
		height: 100%;
	}

	/* 轮播指示点 start*/
	.indication2 {
		z-index: 998;
		width: 100%;
		height: 36rpx;
		position: absolute;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}

	.spot2 {
		background-color: #000;
		opacity: 0.4;
		width: 10rpx;
		height: 10rpx;
		border-radius: 20rpx;
		margin: 0 8rpx !important;
		right: -270rpx;
		top: -60rpx;
		position: relative;
	}

	.spot2.active {
		opacity: 1;
		width: 10rpx;
		background-color: #000;
	}



	/* 底部tabbar假阴影 start*/
	.bg-tabbar-shadow {
		background-image: repeating-linear-gradient(to top, rgba(0, 0, 0, 0.1) 10rpx, #FFFFFF, #FFFFFF);
		position: fixed;
		bottom: 0;
		height: 450rpx;
		width: 100vw;
		z-index: -1;
	}

	/* 图标容器7 start */
	.icon7 {
		&__item {
			width: 30%;
			background-color: #FFFFFF;
			border-radius: 10rpx;
			padding: 10rpx;
			margin: 20rpx 10rpx;
			transform: scale(1);
			transition: transform 0.3s linear;
			transform-origin: center center;

			&--icon {
				width: 120rpx;
				height: 120rpx;
				font-size: 50rpx;
				border-radius: 0;
				margin-bottom: -10rpx;
				position: relative;
				z-index: 1;
			}
		}
	}

	.image-capsule {
		padding: 120rpx 0rpx;
		font-size: 40rpx;
		font-weight: 300;
		position: relative;
	}

	.image-pic {
		background-size: cover;
		background-repeat: no-repeat;
		// background-attachment:fixed;
		background-position: top;
	}

	/* 胶囊背景图 start */
	.image-div {
		height: 450rpx;
		z-index: -1;

		.image {
			width: 100%;
			height: 667rpx;
			// z-index: -1;
		}
	}

	/* 胶囊背景图 end */
	/* 标题 start */
	.nav_title {
		-webkit-background-clip: text;
		color: transparent;

		&--wrap {
			position: relative;
			display: flex;
			height: 120rpx;
			font-size: 46rpx;
			align-items: center;
			justify-content: center;
			font-weight: bold;
			background-image: url(https://tnuiimage.tnkjapp.com/title_bg/title44.png);
			background-size: cover;
		}
	}

	/* 标题 end */
	/* 图标容器15 start */
	.icon15 {
		&__item {
			width: 30%;
			background-color: #FFFFFF;
			border-radius: 10rpx;
			padding: 30rpx;
			margin: 20rpx 10rpx;
			transform: scale(1);
			transition: transform 0.3s linear;
			transform-origin: center center;

			&--icon {
				width: 100rpx;
				height: 100rpx;
				font-size: 60rpx;
				// border-radius: 50%;
				margin-bottom: 0rpx;
				position: relative;
				z-index: 1;

				&::after {
					content: " ";
					position: absolute;
					z-index: -1;
					width: 100%;
					height: 100%;
					left: 0;
					bottom: 0;
					border-radius: inherit;
					opacity: 1;
					transform: scale(1, 1);
					background-size: 100% 100%;
				}
			}
		}
	}


	/* 图标容器9 start */
	.icon9 {
		&__item {
			width: 30%;
			background-color: #FFFFFF;
			border-radius: 10rpx;
			transform: scale(1);
			transition: transform 0.3s linear;
			transform-origin: center center;

			&--icon {
				width: 80rpx;
				height: 80rpx;
				font-size: 50rpx;
				border-radius: 50%;
				margin-bottom: 18rpx;
				position: relative;
				z-index: 1;

				&::after {
					content: " ";
					position: absolute;
					z-index: -1;
					width: 100%;
					height: 100%;
					left: 0;
					bottom: 0;
					border-radius: inherit;
					opacity: 1;
					transform: scale(1, 1);
					background-size: 100% 100%;
					background-image: url(https://tnuiimage.tnkjapp.com/cool_bg_image/icon_bg6.png);
				}
			}
		}
	}


	/* 阴影 start*/
	.health-shadow {
		border-radius: 15rpx;
		box-shadow: 0rpx 0rpx 50rpx 0rpx rgba(0, 0, 0, 0.07);
	}

	/* 自定义导航栏内容 start */
	.custom-nav {
		height: 100%;

		&__back {
			margin: auto 5rpx;
			font-size: 40rpx;
			margin-right: 10rpx;
			margin-left: 30rpx;
			flex-basis: 5%;
		}

		&__search {
			flex-basis: 60%;
			width: 100%;
			height: 100%;

			&__box {
				width: 100%;
				height: 70%;
				padding: 10rpx 0;
				margin: 0 30rpx;
				border-radius: 60rpx 60rpx 0 60rpx;
				font-size: 24rpx;
			}

			&__icon {
				padding-right: 10rpx;
				margin-left: 20rpx;
				font-size: 30rpx;
			}

			&__text {
				// color: #AAAAAA;
			}
		}
	}

	.logo-image {
		width: 65rpx;
		height: 65rpx;
		position: relative;
	}

	.logo-pic {
		background-size: cover;
		background-repeat: no-repeat;
		// background-attachment:fixed;
		background-position: top;
		border-radius: 50%;
	}

	/* 自定义导航栏内容 end */


	/* 热门图片 start*/
	.image-tuniao1 {
		padding: 164rpx 0rpx;
		font-size: 40rpx;
		font-weight: 300;
		position: relative;
	}

	.image-tuniao2 {
		padding: 75rpx 0rpx;
		font-size: 40rpx;
		font-weight: 300;
		position: relative;
	}

	.image-tuniao3 {
		padding: 90rpx 0rpx;
		font-size: 40rpx;
		font-weight: 300;
		position: relative;
	}

	.image-pic {
		background-size: cover;
		background-repeat: no-repeat;
		// background-attachment:fixed;
		background-position: top;
		border-radius: 10rpx;
	}

	/* 胶囊banner*/
	.image-capsule {
		padding: 100rpx 0rpx;
		font-size: 40rpx;
		font-weight: 300;
		position: relative;
	}

	.image-piccapsule {
		background-size: cover;
		background-repeat: no-repeat;
		// background-attachment:fixed;
		background-position: top;
		border-radius: 20rpx 20rpx 0 0;
	}

	/* 标题 start */
	.nav_title {
		-webkit-background-clip: text;
		color: transparent;

		&--wrap {
			position: relative;
			display: flex;
			height: 120rpx;
			font-size: 46rpx;
			align-items: center;
			justify-content: center;
			font-weight: bold;
			background-image: url(https://tnuiimage.tnkjapp.com/title_bg/title00.png);
			background-size: cover;
		}
	}

	/* 标题 end */

	/* 业务展示 start */
	.tn-info {

		&__container {
			margin-top: 10rpx;
			margin-bottom: 50rpx;
		}

		&__item {
			width: 48%;
			margin: 15rpx 0rpx;
			padding: 40rpx 30rpx;
			border-radius: 15rpx;


			position: relative;
			z-index: 1;

			&::after {
				content: " ";
				position: absolute;
				z-index: -1;
				width: 100%;
				height: 100%;
				left: 0;
				bottom: 0;
				border-radius: inherit;
				opacity: 1;
				transform: scale(1, 1);
				background-size: 100% 100%;
				background-image: url(https://tnuiimage.tnkjapp.com/cool_bg_image/2.png);
			}

			&__left {

				&--icon {
					width: 80rpx;
					height: 80rpx;
					border-radius: 50%;
					font-size: 40rpx;
					margin-right: 20rpx;
					position: relative;
					z-index: 1;

					&::after {
						content: " ";
						position: absolute;
						z-index: -1;
						width: 100%;
						height: 100%;
						left: 0;
						bottom: 0;
						border-radius: inherit;
						opacity: 1;
						transform: scale(1, 1);
						background-size: 100% 100%;
						background-image: url(https://tnuiimage.tnkjapp.com/cool_bg_image/icon_bg5.png);
					}
				}

				&__content {
					font-size: 25rpx;

					&--data {
						color: rgba(255, 255, 255, 0.5);
						margin-top: 5rpx;
						// font-weight: bold;
					}
				}
			}

			&__right {
				&--icon {
					position: absolute;
					right: 0rpx;
					top: 50rpx;
					font-size: 100rpx;
					width: 108rpx;
					height: 108rpx;
					text-align: center;
					line-height: 60rpx;
					opacity: 0.15;
				}
			}
		}
	}

	/* 业务展示 end */

	/* 底部tabbar start*/
	.footerfixed {
		position: fixed;
		width: 100%;
		bottom: 0;
		z-index: 999;
		background-color: #FFFFFF;
		box-shadow: 0rpx 0rpx 30rpx 0rpx rgba(0, 0, 0, 0.07);
	}

	.tabbar {
		display: flex;
		align-items: center;
		min-height: 110rpx;
		justify-content: space-between;
		padding: 0;
		height: calc(110rpx + env(safe-area-inset-bottom) / 2);
		padding-bottom: calc(env(safe-area-inset-bottom) / 2);
	}

	.tabbar .action {
		font-size: 22rpx;
		position: relative;
		flex: 1;
		text-align: center;
		padding: 0;
		display: block;
		height: auto;
		line-height: 1;
		margin: 0;
		overflow: initial;
	}

	.bar-center {
		animation: suspension 3s ease-in-out infinite;
	}

	@keyframes suspension {

		0%,
		100% {
			transform: translateY(0);
		}

		50% {
			transform: translateY(-0.8rem);
		}
	}

	.tabbar .action .bar-icon {
		width: 100rpx;
		position: relative;
		display: block;
		height: auto;
		margin: 0 auto 10rpx;
		text-align: center;
		font-size: 42rpx;
		// line-height: 50rpx;
	}

	.tabbar .action .bar-icon image {
		width: 50rpx;
		height: 50rpx;
		display: inline-block;
	}

	.tabbar .action .bar-circle {
		position: relative;
		display: block;
		margin: 0rpx auto 0rpx;
		text-align: center;
		font-size: 52rpx;
		line-height: 90rpx;
		// background-color: #01BEFF;
		width: 100rpx !important;
		height: 100rpx !important;
		overflow: hidden;
		// border-radius: 50%;
		// box-shadow: 0px 10px 30px rgba(70,23,129, 0.12),
		//   0px -8px 40px rgba(255, 255, 255, 1),
		//   inset 0px -10px 10px rgba(70,23,129, 0.05),
		//   inset 0px 10px 20px rgba(255, 255, 255, 1);
		// box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(1, 190, 255, 0.5);
	}

	.tabbar .action .bar-circle image {
		width: 100rpx;
		height: 100rpx;
		display: inline-block;
		margin: 0rpx auto 0rpx;
	}

	/* 流星+悬浮 */
	.nav-index-button {
		animation: suspension 3s ease-in-out infinite;
		z-index: 999999;


		&__content {
			position: absolute;
			width: 100rpx;
			height: 100rpx;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);

			&--icon {
				width: 100rpx;
				height: 100rpx;
				font-size: 60rpx;
				border-radius: 50%;
				margin-bottom: 18rpx;
				position: relative;
				z-index: 1;
				transform: scale(0.85);

				&::after {
					content: " ";
					position: absolute;
					z-index: -1;
					width: 100%;
					height: 100%;
					left: 0;
					bottom: 0;
					border-radius: inherit;
					opacity: 1;
					transform: scale(1, 1);
					background-size: 100% 100%;
					// background-image: url(https://tnuiimage.tnkjapp.com/cool_bg_image/icon_bg6.png);
				}
			}
		}

		&__meteor {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 100rpx;
			height: 100rpx;
			transform-style: preserve-3d;
			transform: translate(-50%, -50%) rotateY(75deg) rotateZ(10deg);

			&__wrapper {
				width: 100rpx;
				height: 100rpx;
				transform-style: preserve-3d;
				animation: spin 20s linear infinite;
			}

			&__item {
				position: absolute;
				width: 100rpx;
				height: 100rpx;
				border-radius: 1000rpx;
				left: 0;
				top: 0;

				&--pic {
					display: block;
					width: 100%;
					height: 100%;
					background: url(https://tnuiimage.tnkjapp.com/cool_bg_image/arc1.png) no-repeat center center;
					background-size: 100% 100%;
					animation: arc 4s linear infinite;
				}
			}
		}
	}


	@keyframes suspension {

		0%,
		100% {
			transform: translateY(0);
		}

		50% {
			transform: translateY(-0.6rem);
		}
	}

	@keyframes spin {
		0% {
			transform: rotateX(0deg);
		}

		100% {
			transform: rotateX(-360deg);
		}
	}

	@keyframes arc {
		to {
			transform: rotate(360deg);
		}
	}

	/* 文章内容 start*/
	.blogger {
		&__item {
			padding: 30rpx;
		}

		&__author {
			&__btn {
				margin-right: -12rpx;
				opacity: 0.5;
			}
		}

		&__desc {
			line-height: 55rpx;

			&__label {
				padding: 0 20rpx;
				margin: 0rpx 18rpx 0 0;

				&--prefix {
					color: #00FFC8;
					padding-right: 10rpx;
				}
			}

			&__content {}
		}

		&__content {
			margin-top: 18rpx;
			padding-right: 18rpx;

			&__data {
				line-height: 46rpx;
				text-align: justify;
				overflow: hidden;
				transition: all 0.25s ease-in-out;
			}

			&__status {
				margin-top: 10rpx;
				font-size: 30rpx;
				color: $tn-main-color;
			}
		}

		&__main-image {
			border-radius: 16rpx;

			&--1 {
				max-width: 80%;
				max-height: 300rpx;
			}

			&--2 {
				max-width: 260rpx;
				max-height: 260rpx;
			}

			&--3 {
				height: 212rpx;
				width: 100%;
			}
		}

		&__count-icon {
			font-size: 40rpx;
			padding-right: 5rpx;
		}

		&__ad {
			width: 100%;
			height: 500rpx;
			transform: translate3d(0px, 0px, 0px) !important;

			::v-deep .uni-swiper-slide-frame {
				transform: translate3d(0px, 0px, 0px) !important;
			}

			.uni-swiper-slide-frame {
				transform: translate3d(0px, 0px, 0px) !important;
			}

			&__item {
				position: absolute;
				width: 100%;
				height: 100%;
				transform-origin: left center;
				transform: translate3d(100%, 0px, 0px) scale(1) !important;
				transition: transform 0.25s ease-in-out;
				z-index: 1;

				&--0 {
					transform: translate3d(0%, 0px, 0px) scale(1) !important;
					z-index: 4;
				}

				&--1 {
					transform: translate3d(13%, 0px, 0px) scale(0.9) !important;
					z-index: 3;
				}

				&--2 {
					transform: translate3d(26%, 0px, 0px) scale(0.8) !important;
					z-index: 2;
				}
			}

			&__content {
				border-radius: 40rpx;
				width: 640rpx;
				height: 500rpx;
				overflow: hidden;
			}

			&__image {
				width: 100%;
				height: 100%;
			}
		}
	}

	/* 文章内容 end*/
</style>
